package com.medusa.aps.business.modules.security.mp.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.medusa.aps.business.model.pagination.Page;
import com.medusa.aps.business.modules.security.model.input.UserQueryPara;
import com.medusa.aps.business.modules.security.model.output.UserInfoVO;
import com.medusa.aps.business.modules.security.model.output.UserVO;
import com.medusa.aps.business.modules.security.mp.entity.User;

/**
 * @author: xianhui.yu
 **/
public interface IUserService extends IService<User> {

    /**
     * 系统管理-用户基础信息表列表分页
     *
     * @param userQueryPara : 带查询条件的参数，详见 {@link UserQueryPara}
     */
    Page<UserVO> listPage(UserQueryPara userQueryPara);

    /**
     * 通过token获取用户信息
     */
    UserInfoVO getCurrentUserInfo();

    /**
     * 查询成员列表基本信息
     *
     * @param userQueryPara 查询参数
     * @return 成员列表基本信息
     */
    Page<User> userList(UserQueryPara userQueryPara);

    /**
     * 获取成员详细信息
     *
     * @param userId 用户id
     * @return 成员详细信息
     */
    UserVO getUserById(Long userId);

    /**
     * 查看用户是否有权限
     *
     * @param phone 手机号
     * @return true or false
     */
    Boolean hasPermission(String phone);
}
